package FileTest;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
File
    1.File类和"文件输出输入读写四大家族"没有关系，所以File类不能完成文件的读和写
    2.File对象代表什么？
        文件和目录路径名的抽象表示形式
            C:\Program File这是一个File对象
            一个File对象有可能对应的是目录，也有可能是文件
            File只是一个路径名的抽象表现形式
    3.File类中常用的方法
 */
public class FileTest1 {
    public static void main(String[] args) {
        File f1 = new File("D:\\myFile4.txt");
        File f2 = new File("D:\\c\\d\\e");
        //判断传入的文件是否存在
        boolean  flag = f1.exists();
        System.out.println(flag);
        //如果不存在，则以文件的形式创建
        if(!flag){
            try {
                f1.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //如果不存在，则以目录的形式创建
        System.out.println(f2.exists());
        if(!(f2.exists())){
            f2.mkdirs();
        }
        //获取文件的父路径
        File f3 = new File("D:\\c\\d\\e");
        System.out.println(f3.getParent());
        //获取文件的绝对路径
        System.out.println(f3.getAbsoluteFile());

        //获取文件名
        File f4 = new File("D:\\myFile.txt");
        System.out.println("文件名为:"+f4.getName());
        //判断是否是一个目录
        System.out.println(f1.isDirectory()); //false
        //判断是否是一个文件
        System.out.println(f1.isFile()); //true
        //获取文件最后一次的修改时间
        long num = f4.lastModified();
        Date date = new Date(num);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String format = sdf.format(date);
        System.out.println(format);
    }

}
